package hanlen.mq.starter.core;

import hanlen.mq.starter.bean.MessageWrap;

/**
 * 暴露给外部实现的服务：
 *
 * <pre>
 * 1. 死性消息有积压告警
 * 2. 持续消费失败的转存消息处理策略
 * </pre>
 *
 * <p>
 *
 * @author MrYe
 * @since 1.0.0
 */
public interface RedisQueueExportService {

    /**
     * 告警
     *
     * @param queueName   队列名
     * @param messageSize 积压消息数
     */
    void alarm(String queueName, Integer messageSize);

    /**
     * 溢出策略
     *
     * @param queueName 队列名
     * @param message   具体内容
     */
    void overflowPolicy(String queueName, MessageWrap message);

}
